package top.tenebrous.yzl.im.message;

import lombok.Data;
import lombok.NoArgsConstructor;
import top.tenebrous.yzl.im.enums.MessageType;

import java.io.Serializable;

/**
 * @author yazhang6
 */
@Data
@NoArgsConstructor
public class MessageBody implements Message, Serializable {

    public MessageBody(String from) {
        this.from = from;
    }

    /**
     * 来源ID
     */
    private String from;

    /**
     * 目标ID
     */
    private String to;

    /**
     * 命令码(11)int类型
     */
    private String cmd;

    /**
     * 消息创建时间long类型
     */
    private String createTime;

    /**
     * 消息类型int类型(0:text、1:image、2:voice、3:vedio、4:music、5:news)
     */
    private String msgType;

    /**
     * 聊天类型int类型(0:未知,1:公聊,2:私聊)
     */
    private String chatType;

    /**
     * 群组id仅在chatType为(1)时需要,String类型
     */
    private String groupId;

    /**
     * 内容
     */
    private String content;

    /**
     * 扩展字段,JSON对象格式如：{'扩展字段名称':'扩展字段value'}
     */
    private String extras;

    @Override
    public String getType() {
        return MessageType.PUT.getCode();
    }
}
